#ifndef __BN_DATA_CHAIN_H__
#define __BN_DATA_CHAIN_H__

typedef struct _BN_Data_block_t
{
    struct _BN_Data_block_t *next;
    short length;
    char buf[BN_def_Data_block_SIZE];
} _BN_Data_block_t;

_BN_Data_block_t *BN_data_pop(BN_handler_t *hd);
_BN_Data_block_t *BN_data_peek(BN_handler_t *hd, _BN_Data_block_t *current);
void BN_data_push_list(BN_handler_t *hd, _BN_Data_block_t *block);
void BN_block_free(BN_handler_t *hd, _BN_Data_block_t *block);
_BN_Data_block_t *BN_block_apply(BN_handler_t *hd);
_BN_Data_block_t *BN_data_search(BN_handler_t *hd, int index);
#endif